package io.renren.modules.app.service.index;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.app.entity.company.CompanyEntity;
import io.renren.modules.app.entity.company.YcCompanyEntity;
import io.renren.modules.app.entity.company.YcUserCollectJob;
import io.renren.modules.app.entity.index.IndexRecruitEntity;
import io.renren.modules.app.entity.index.YcRecruitEntity;
import io.renren.modules.app.entity.info.CollectData;

import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author lym
 * @email 928185446qq.com
 * @date 2023-12-26 14:56:30
 */
public interface YcRecruitService extends IService<YcRecruitEntity> {

    PageUtils queryPage(Map<String, Object> params);
//IndexRecruitEntity类是自己定义的，类是接收首页招聘的查询结果，里面包含招聘前三和非竞价数据
    //Map<String, Object> params参数前端传递的
    JSONObject indexListData(Map<String, Object> params);


    /**
     * 查询全部职位信息
     */
    List<IndexRecruitEntity> selectRecruitAllList (Map<String, Object> params);

    /**
     * 通过招聘编号查询企业编号获取企业详情
     */
    YcCompanyEntity getCompanyDetail (String id);


    /**
     * 查询招聘信息
     */
    YcRecruitEntity getRecruitById(String id);

    /**
     * 查询收藏数据
     */
    List<YcUserCollectJob> queryCollectJobList(String userId);

    /**
     * 查询收藏状态
     */
    boolean queryCollect(String type, String resumeId, String userId);

    /**
     * 添加收藏数据
     */
    boolean addCollect(String type, String resumeId, String userId);

    /**
     * 取消收藏数据
     */
    boolean unCollect(String type, String resumeId, String userId);

    /**
     * 查询举报状态
     */
    boolean queryComplaint(String companyId, String userId);

    /**
     * 添加举报数据
     */
    boolean doComplaint(String companyId, String userId, String content);

    /**
     * 通过公司编号查询招聘人信息
     * @param companyId
     * @return
     */
    CompanyEntity getCompanyUser(Integer companyId);

    /**
     * 查询招聘福利待遇
     */
    List<String> getRecruitWelfare(String recruitId);

    /**
     * 查询收藏数据
     */
    List<CollectData> queryCollectList(String userId);
}

